def calculate_bmi():
    while True:
        try:
            # 输入身高，单位为米
            height_input = input("请输入您的身高（单位：米，请输入正数）：")
            height = float(height_input)
            if height <= 0:
                raise ValueError("身高必须大于0。")

            # 输入体重，单位为公斤
            weight_input = input("请输入您的体重（单位：公斤，请输入正数）：")
            weight = float(weight_input)
            if weight <= 0:
                raise ValueError("体重必须大于0。")

            # 计算BMI
            bmi = weight / (height ** 2)
            print("您的BMI为：{:.2f}".format(bmi))

            # 判断身体状况
            if bmi < 18.5:
                print("属于偏瘦。")
            elif 18.5 <= bmi < 24:
                print("属于正常。")
            elif 24 <= bmi < 28:
                print("属于偏胖。")
            else:
                print("属于肥胖。")

            # 询问用户是否继续
            continue_calculation = input("是否要继续计算另一位的BMI？(yes/no)：")
            if continue_calculation.lower() != 'yes':
                break  # 用户选择不再继续，退出循环

        except ValueError as e:
            # 如果输入无法转换为浮点数，提示错误
            print("输入错误：", e)

# 调用函数
calculate_bmi()